home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Workbench Add-On
/
Workbench Add-On - Volume 1.iso
/
BBS-Archive
/
Comm
/
AmiTCP30b2.lha
/
src
/
netlib
/
gettimeofday.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-03-28
|
4KB
|
116 lines
RCS_ID_C="$Id: gettimeofday.c,v 1.2 1994/03/28 10:25:23 jraja Exp $"
/*
* gettimeofday.c --- get time of the day
*
* Author: jraja <Jarno.Rajahalme@hut.fi>
*
* Copyright © 1993 AmiTCP/IP Group, <amitcp-group@hut.fi>
* Helsinki University of Technology, Finland.
* All rights reserved.
*
* Created : Wed Sep 01 22:45:12 1993 jraja
* Last modified: Mon Mar 28 13:24:51 1994 jraja
*
* $Log: gettimeofday.c,v $
* Revision 1.2 1994/03/28 10:25:23 jraja
* Updated the autodoc.
*
* Revision 1.1 1993/10/18 06:23:47 jraja
* Initial revision
*
*/
#include <sys/param.h>
#include <sys/time.h>
/****** net.lib/gettimeofday *********************************************
NAME
gettimeofday - get date and time
SYNOPSIS
#include <sys/time.h>
error = gettimeofday(tp, tzp)
int gettimeofday(struct timeval *, struct timezone *)
FUNCTION
The system's notion of the current Greenwich time and the
current time zone is obtained with the gettimeofday() call.
The time is expressed in seconds and microseconds since
midnight (0 hour), January 1, 1970. The resolution of the
system clock is hardware dependent. If tzp is zero, the time
zone information will not be returned. Also, if your system
software is unable to provide time zone information, the
structure pointed by tzp will be filled with zeroes.
PORTABILITY
UNIX
INPUTS
The structures pointed to by tp and tzp are defined in
<sys/time.h> as:
struct timeval {
long tv_sec; \* seconds since Jan. 1, 1970 *\
long tv_usec; \* and microseconds *\
};
struct timezone {
int tz_minuteswest; \* of Greenwich *\
int tz_dsttime; \* type of dst correction to apply *\
};
The timezone structure indicates the local time zone (meas-
ured in minutes of time westward from Greenwich), and a flag
that, if nonzero, indicates that Daylight Saving time
applies locally during the appropriate part of the year.
RESULT
Returns 0 when successful and -1 with specific error code in
errno in case of an error. No error codes are specified,
however.
NOTES
gettimeofday() uses GetSysTime() function of the timer.device,
which is new to V36 of the device.
Time zone information is taken from the locale.library, if it
is available (it is included in all Amiga systems from 2.1 and
up). Otherwise the environment variable "TZ" is consulted. If
it fails, the time zone is initialized to the GMT.
Global variable TimerBase _must_ be initialized before
gettimeofday() is called. This is normally done automatically
by the autoinit module (timerinit.c) included in the net.lib.
SEE ALSO
timer.device/GetSysTime()
*****************************************************************************
*
*/
/*
* See timerinit.c for comments on these
*/
extern struct timezone __time_zone;
extern long __local_to_GMT;
int
gettimeofday(struct timeval *tp, struct timezone *tzp)
{
if (tp) {
GetSysTime(tp);
tp->tv_sec += __local_to_GMT;
}
if (tzp) {
/*
* __time_zone is set up in the timerinit.c
*/
*tzp = __time_zone;
}
return 0;
}